
#            #静态库
#lib-math.a:sub.o add.o 
#	ar -rc $@ $^
#%.o:%.c
#	gcc -c $<
#.PHONY:clean
#clean:
#	rm -rf *.o output lib-math.a
#
#.PHONY:output
#output:
#	mkdir output 
#	cp -rf *.h output 
#	cp lib-math.a output


            #动态库
#形成一个动态链接的共享库
lib-math.so:add.o sub.o
	gcc -shared -o $@ $^
#产生.o目标文件，程序内部的地址方案是：与位置无关，库文件可以在内存的任何位置加载，而且不影响和其他程序的关联性
%.o:%.c
	gcc -fPIC -c $<
.PHONY:clean
clean:
	rm -f lib-math.so *.o
.PHONY:lib 
lib:
	mkdir lib 
	cp *.h lib 
	cp lib-math.so lib
